package org.xp.judgeplatform.pojo.vo.ProblemVO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@Schema(description = "题目视图对象")
public class ProblemVO {

    @Schema(description = "题目ID", example = "1")
    private Long id;

    @Schema(description = "题目标题", example = "字符串反转")
    private String title;

    @Schema(description = "题目难度等级", example = "简单", allowableValues = {"简单", "中等", "困难"})
    private String difficulty;

    @Schema(description = "题目分类", example = "字符串")
    private String category;

    @Schema(description = "题目描述", example = "给定一个字符串，返回其反转后的结果。")
    private String description;

    @Schema(description = "输入格式说明", example = "输入一个字符串")
    private String inputDescription;

    @Schema(description = "输出格式说明", example = "返回反转后的字符串")
    private String outputDescription;

    @Schema(description = "样例输入", example = "输入: \"hello\"")
    private String sampleInput;

    @Schema(description = "样例输出", example = "输出: \"olleh\"")
    private String sampleOutput;

    @Schema(description = "提示信息", example = "可以使用字符串切片或循环实现")
    private String hint;

    @Schema(description = "时间限制", example = "1000")
    private Integer timeLimit;

    @Schema(description = "内存限制", example = "256")
    private Integer memoryLimit;

    @Schema(description = "总分", example = "100")
    private Integer totalScore;

    @Schema(description = "提交次数", example = "10")
    private Integer submissionCount;

    @Schema(description = "通过次数", example = "5")
    private Integer acceptedCount;

    @Schema(description = "通过率", example = "0.5")
    private Double acceptanceRate;

    @Schema(description = "题目作者名称", example = "admin")
    private String authorName;
}
